package com.huitone.gddw.service.monitoring.base;

import java.util.List;

import com.huitone.gddw.dao.entity.ObjectDef;
import com.huitone.gddw.dao.entity.ObjectManagement;
import com.huitone.gddw.model.support.QueryPage;
import com.huitone.gddw.service.dto.monitoring.base.ObjectDefDTO;

/**
 * 对象 接口
 * @author wuluodan
 *
 */
public interface IObjectDefService {

	/**
	 * 分页查询
	 * @param page
	 * @return QueryPage<ObjectDefDTO>
	 */
	QueryPage<ObjectDefDTO> selectPage(QueryPage<ObjectManagement> page);
	
	/**
	 * 根据ID获取唯一记录
	 * @param objId 对象ID
	 * @return ObjectDef
	 */
	ObjectDef getById(String objId);
	
	/**
	 * 获取所有对象信息
	 * @return List<ObjectManagement>
	 */
	List<ObjectManagement> getAll();
	
	/**
	 * 根据对象类型获取相应的对象
	 * @param objType 对象类型
	 * @return List<ObjectDef>
	 */
	List<ObjectDef> getByObjType(String objType);
	
	/**
	 * 根据ID获取唯一记录
	 * @param objId 对象ID
	 * @return ObjectDefDTO
	 */
	ObjectDefDTO findOne(String objId);
	
	/**
	 * 保存
	 * @param entity ObjectDef
	 */
	void save(ObjectDef entity);
	
	/**
	 * 更新
	 * @param entity ObjectDef
	 */
	void update(ObjectDef entity);
	
	/**
	 * 删除
	 * @param objId 对象ID
	 */
	void delete(String objId);
	
}
